home *** CD-ROM | disk | FTP | other *** search
- package
- {
- import com.plus9.mockups.events.MockupModelEvent;
- import com.plus9.mockups.ui.AppBarMenus;
- import flash.desktop.Clipboard;
- import flash.desktop.ClipboardFormats;
- import flash.desktop.NativeApplication;
- import flash.display.NativeMenu;
- import flash.display.NativeMenuItem;
- import flash.events.Event;
- import flash.system.Capabilities;
- import flash.ui.Keyboard;
- import mx.core.Application;
- import mx.managers.IFocusManagerComponent;
-
- public class AppBarMenusAir extends AppBarMenus
- {
- protected var _useSystemFontsItem:NativeMenuItem;
-
- protected var _backgroundItem:NativeMenuItem;
-
- protected var _ctrlDown:Boolean = false;
-
- protected var _redoItem:NativeMenuItem;
-
- protected var _libraryItem:NativeMenuItem;
-
- protected var _undoItem:NativeMenuItem;
-
- public function AppBarMenusAir()
- {
- super();
- }
-
- override protected function enhanceMenus() : void
- {
- var _loc5_:NativeMenuItem = null;
- dataProvider = null;
- var _loc1_:* = Capabilities.os.indexOf("Mac OS") != -1;
- var _loc2_:Array = _loc1_ ? [Keyboard.COMMAND] : [Keyboard.CONTROL];
- var _loc3_:NativeMenu = new NativeMenu();
- if(_loc1_)
- {
- NativeApplication.nativeApplication.menu = _loc3_;
- }
- else
- {
- NativeApplication.nativeApplication.activeWindow.menu = _loc3_;
- }
- var _loc4_:NativeMenu = new NativeMenu();
- _loc3_.addSubmenu(_loc4_,"Mockup");
- _loc5_ = new NativeMenuItem("New Blank Mockup");
- _loc5_.name = "new";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "n";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("New Clone of Current Mockup");
- _loc5_.name = "clone";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "N";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Open...");
- _loc5_.name = "open";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "o";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Save");
- _loc5_.name = "save";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "s";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Save As...");
- _loc5_.name = "saveas";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Save All");
- _loc5_.name = "saveAll";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "S";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Close");
- _loc5_.name = "close";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "w";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Close All");
- _loc5_.name = "closeAll";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "W";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Export Snapshot to PNG File");
- _loc5_.name = "snapshot";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Export All Snapshots...");
- _loc5_.name = "snapshotAll";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Export Snapshot to Clipboard");
- _loc5_.name = "snapshotClipboard";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "C";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Export Mockup...");
- _loc5_.name = "export";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "e";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Import Mockup...");
- _loc5_.name = "import";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "E";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Print...");
- _loc5_.name = "print";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "p";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- if(_loc1_)
- {
- _loc5_ = new NativeMenuItem("Hide Balsamiq Mockups");
- _loc5_.name = "hide";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "h";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- }
- _loc5_ = new NativeMenuItem("Quit Balsamiq Mockups");
- _loc5_.name = "quit";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "q";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc4_ = new NativeMenu();
- _loc3_.addSubmenu(_loc4_,"Edit");
- _undoItem = new NativeMenuItem("Undo");
- _undoItem.name = "undo";
- _undoItem.keyEquivalentModifiers = _loc2_;
- _undoItem.keyEquivalent = "z";
- _undoItem.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_undoItem);
- _redoItem = new NativeMenuItem("Redo");
- _redoItem.name = "redo";
- _redoItem.keyEquivalentModifiers = _loc2_;
- _redoItem.keyEquivalent = "y";
- _redoItem.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_redoItem);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Cut");
- _loc5_.name = "cut";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "x";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Copy");
- _loc5_.name = "copy";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "c";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Paste");
- _loc5_.name = "paste";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "v";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Paste In Place");
- _loc5_.name = "pasteInPlace";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "V";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Delete");
- _loc5_.name = "delete";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Duplicate");
- _loc5_.name = "duplicate";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "d";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Select All");
- _loc5_.name = "selectall";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "a";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Group");
- _loc5_.name = "group";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "g";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Ungroup");
- _loc5_.name = "ungroup";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "G";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Lock");
- _loc5_.name = "lock";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "2";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Unlock All");
- _loc5_.name = "unlock";
- _loc5_.keyEquivalentModifiers = _loc2_.concat([Keyboard.ALTERNATE]);
- _loc5_.keyEquivalent = "2";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc4_ = new NativeMenu();
- _loc3_.addSubmenu(_loc4_,"View");
- _libraryItem = new NativeMenuItem("Show UI Library");
- _libraryItem.name = "library";
- _libraryItem.keyEquivalentModifiers = _loc2_;
- _libraryItem.keyEquivalent = "l";
- _libraryItem.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_libraryItem);
- _backgroundItem = new NativeMenuItem("Show Graph Paper");
- _backgroundItem.name = "background";
- _backgroundItem.addEventListener(Event.SELECT,onNativeMenuSelect);
- _backgroundItem.checked = _model.showBackground;
- _loc4_.addItem(_backgroundItem);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _useSystemFontsItem = new NativeMenuItem("Use System Fonts");
- _useSystemFontsItem.name = "useSystemFonts";
- _useSystemFontsItem.addEventListener(Event.SELECT,onNativeMenuSelect);
- _useSystemFontsItem.checked = _model.useSystemFonts;
- _loc4_.addItem(_useSystemFontsItem);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Full Screen View");
- _loc5_.name = "fullScreen";
- _loc5_.keyEquivalentModifiers = _loc2_;
- _loc5_.keyEquivalent = "f";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc4_ = new NativeMenu();
- _loc3_.addSubmenu(_loc4_,"Help");
- _loc5_ = new NativeMenuItem("Online Help");
- _loc5_.name = "help";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Balsamiq Mockups Support");
- _loc5_.name = "support";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Download More Controls (MockupsToGo.net)");
- _loc5_.name = "mockupsToGo";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Send Feedback");
- _loc5_.name = "feedback";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("Register");
- _loc5_.name = "register";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("I need inspiration! (inspireUX.com)");
- _loc5_.name = "inspireUX";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("",true);
- _loc4_.addItem(_loc5_);
- _loc5_ = new NativeMenuItem("About Balsamiq Mockups",false);
- _loc5_.name = "about";
- _loc5_.addEventListener(Event.SELECT,onNativeMenuSelect);
- _loc4_.addItem(_loc5_);
- }
-
- protected function onNativeMenuSelect(param1:Event) : void
- {
- var _loc3_:IFocusManagerComponent = null;
- var _loc4_:Object = null;
- var _loc5_:String = null;
- var _loc6_:uint = 0;
- var _loc7_:uint = 0;
- var _loc2_:StorageManagerAir = StorageManagerAir(_model.storageManager);
- switch(NativeMenuItem(param1.target).name)
- {
- case "about":
- doAbout();
- break;
- case "new":
- _loc2_.newMockup();
- break;
- case "clone":
- _loc2_.createCloneOfCurrentMockup();
- break;
- case "open":
- _loc2_.open();
- break;
- case "save":
- _loc2_.save();
- break;
- case "saveas":
- _loc2_.saveAs();
- break;
- case "saveAll":
- _loc2_.saveAllFilesToDisk();
- break;
- case "close":
- _loc2_.closeCurrentFile();
- break;
- case "closeAll":
- _loc2_.closeAllFiles();
- break;
- case "snapshot":
- _model.clearSelection(false);
- _loc2_.snapshot();
- break;
- case "snapshotAll":
- _model.clearSelection(false);
- _loc2_.snapshotAll();
- break;
- case "snapshotClipboard":
- _model.clearSelection(false);
- _loc2_.snapshotToClipboard();
- break;
- case "print":
- _model.clearSelection(false);
- _loc2_.print();
- break;
- case "export":
- _inputManager.doExport();
- break;
- case "import":
- _inputManager.doImport();
- break;
- case "hide":
- Application.application.nativeWindow.minimize();
- break;
- case "quit":
- _loc2_.quit();
- break;
- case "undo":
- _model.undo();
- break;
- case "redo":
- _model.redo();
- break;
- case "cut":
- if(!_inputManager.editing && _inputManager.listenToKeyEvents)
- {
- _model.cutSelection();
- }
- else
- {
- _loc3_ = focusManager.getFocus();
- if(Object(_loc3_).hasOwnProperty("text"))
- {
- _loc6_ = uint(_loc3_["selectionBeginIndex"]);
- _loc7_ = uint(_loc3_["selectionEndIndex"]);
- _loc5_ = _loc3_["text"].substring(_loc6_,_loc7_);
- _loc3_["text"] = _loc3_["text"].substring(0,_loc6_) + _loc3_["text"].substr(_loc7_);
- _loc3_["setSelection"](_loc6_,_loc6_);
- _loc3_["dispatchEvent"](new Event(Event.CHANGE));
- Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT,_loc5_);
- }
- }
- break;
- case "copy":
- if(!_inputManager.editing && _inputManager.listenToKeyEvents)
- {
- _model.copySelection();
- }
- else
- {
- _loc3_ = focusManager.getFocus();
- if(Object(_loc3_).hasOwnProperty("text"))
- {
- _loc6_ = uint(_loc3_["selectionBeginIndex"]);
- _loc7_ = uint(_loc3_["selectionEndIndex"]);
- _loc5_ = _loc3_["text"].substring(_loc6_,_loc7_);
- Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT,_loc5_);
- }
- }
- break;
- case "paste":
- if(!_inputManager.editing && _inputManager.listenToKeyEvents)
- {
- _model.paste();
- }
- else
- {
- _loc3_ = focusManager.getFocus();
- _loc4_ = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT);
- if(Boolean(Object(_loc3_).hasOwnProperty("text")) && Boolean(_loc4_))
- {
- _loc5_ = _loc4_.toString();
- _loc6_ = uint(_loc3_["selectionBeginIndex"]);
- _loc7_ = uint(_loc3_["selectionEndIndex"]);
- _loc3_["text"] = _loc3_["text"].substring(0,_loc6_) + _loc5_ + _loc3_["text"].substr(_loc7_);
- _loc3_["setSelection"](_loc6_ + _loc5_.length,_loc6_ + _loc5_.length);
- _loc3_["dispatchEvent"](new Event(Event.CHANGE));
- }
- }
- break;
- case "pasteInPlace":
- _model.paste(true,true);
- break;
- case "delete":
- _model.deleteSelection();
- break;
- case "duplicate":
- _model.duplicateSelection();
- break;
- case "selectall":
- if(!_inputManager.editing && _inputManager.listenToKeyEvents)
- {
- _model.selectAllControls();
- }
- else
- {
- _loc3_ = focusManager.getFocus();
- if(Object(_loc3_).hasOwnProperty("text"))
- {
- _loc3_["setSelection"](0,_loc3_["text"].length);
- }
- }
- break;
- case "group":
- _model.groupSelection();
- break;
- case "ungroup":
- _model.ungroupSelection();
- break;
- case "lock":
- _model.lockSelection();
- break;
- case "unlock":
- _model.unlockAllControls();
- break;
- case "library":
- _model.showLibrary = !_model.showLibrary;
- break;
- case "background":
- _model.showBackground = !_model.showBackground;
- break;
- case "useSystemFonts":
- _model.useSystemFonts = !_model.useSystemFonts;
- break;
- case "fullScreen":
- doFullScreen();
- break;
- case "help":
- doHelp();
- break;
- case "support":
- doSupport();
- break;
- case "feedback":
- doFeedback();
- break;
- case "inspireUX":
- doInspireUX();
- break;
- case "mockupsToGo":
- doMockupsToGo();
- break;
- case "register":
- _loc2_.register();
- }
- }
-
- override public function toggleLibrary(param1:Boolean) : void
- {
- _libraryItem.checked = param1;
- }
-
- override public function updateRedoMenu(param1:Boolean, param2:String) : void
- {
- _redoItem.enabled = param1;
- _redoItem.label = param2;
- }
-
- override protected function onShowBackgroundChange(param1:MockupModelEvent = null) : void
- {
- if(_backgroundItem)
- {
- _backgroundItem.checked = _model.showBackground;
- }
- }
-
- override public function updateUndoMenu(param1:Boolean, param2:String) : void
- {
- _undoItem.enabled = param1;
- _undoItem.label = param2;
- }
-
- override protected function onUseSystemFontsChange(param1:MockupModelEvent = null) : void
- {
- if(_useSystemFontsItem)
- {
- _useSystemFontsItem.checked = _model.useSystemFonts;
- }
- }
-
- override public function isLibraryToggled() : Boolean
- {
- return _libraryItem.checked;
- }
- }
- }
-
-